﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ComunesMGI.DataTypes;
using ComunesMGI.Constantes;
using ClienteWinMGI.Logica;

namespace ClienteWinMGI.Presentacion
{
    public partial class VisualizarWP : Form
    {
        private DataWP _workP;
        private DataSistema _dSis;

        

        public DataWP WorkP
        {
            get { return _workP; }
            set { _workP = value; }
        }
        public VisualizarWP(DataWP dWP, DataSistema dSis)
        {
            InitializeComponent();
            this._workP = dWP;
            this._dSis = dSis;
            cargarTextos();
            cargarListaIncidentes();
        }

        public void cargarTextos()
        {
            txtId.Text = _workP.Id.ToString();
            txtNom.Text = _workP.Nombre;
            if (_workP.FechaInicio.Equals(ConstantesMGI.FechaVacia))
            {
                txtFIni.Text = "";
            }
            else 
            {
                txtFIni.Text = _workP.FechaInicio.Date.Day.ToString() + "/" + _workP.FechaInicio.Date.Month.ToString() + "/" + _workP.FechaInicio.Date.Year.ToString();
            }

            if (_workP.FechaEstimadaEntrega.Equals(ConstantesMGI.FechaVacia))
            {
                txtFEE.Text = "";
            }
            else
            {
                txtFEE.Text = _workP.FechaEstimadaEntrega.Date.Day.ToString() + "/" + _workP.FechaEstimadaEntrega.Month.ToString() + "/" + _workP.FechaEstimadaEntrega.Date.Year.ToString();
            }

            if (_workP.FechaEntrega.Equals(ConstantesMGI.FechaVacia))
            {
                txtFE.Text = "";
            }
            else
            {
                txtFE.Text = _workP.FechaEntrega.Date.Day.ToString() + "/" + _workP.FechaEntrega.Date.Month.ToString() + "/" + _workP.FechaEntrega.Date.Year.ToString();
            }

            if (_workP.FechaFin.Equals(ConstantesMGI.FechaVacia))
            {
                txtFF.Text = "";
            }
            else
            {
                txtFF.Text = _workP.FechaFin.Date.Day.ToString() + "/" + _workP.FechaFin.Date.Month.ToString() + "/" + _workP.FechaFin.Date.Year.ToString();
            }

            if (_workP.EsfuerzoTotal==ConstantesMGI.EnteroVacio)
            {
                txtET.Text = "";
            }
            else
            {
                txtET.Text = _workP.EsfuerzoTotal.ToString();
            }

            if (_workP.EsfuerzoRestante==ConstantesMGI.EnteroVacio)
            {
                txtER.Text = "";
            }
            else
            {
                txtER.Text = _workP.EsfuerzoRestante.ToString();
            }

            txtE.Text = _workP.Estado.Estado;

        }

     

        public void cargarListaIncidentes()
        {
            try
            {
                IIncidentes ii = LogicaFactory.getInstance().getIIncidentes();
                List<DataIncidente> listaIncidentes = ii.getIncidentesWP(_dSis, _workP);
                
                foreach(DataIncidente di in listaIncidentes)
                {
                    string id = di.IdIncidente.ToString();
                    string desc = di.Descripcion;
                    lstIncidentes.Items.Add("Id= " + id + "  Descripcion= " + desc);
                }
                
               
                
            }
            catch (Exception ex)
            {
                Error error = new Error("Error", "Error al cargar los incidentes", ex.Message);
                error.ShowDialog();
            }
        
        }
        private void btnSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void VisualizarWP_Load(object sender, EventArgs e)
        {

        }
    }
}
